Input scanners, personal computers and other electronic document generating devices have become commonplace tools for most office workers. Typically, much of the work product of such devices is intended to be transformed into hardcopy via a printer using digital imaging technology. A typical printer configuration for this purpose comprises a dedicated printer coupled to the personal computer ("PC"). However, printers used for this purpose are typically small laser or ink-jet printers, which have limited functions and features such as a limited tray capacity which restricts the number and types of copy sheets that can be used to make prints on, or which do not have a finishing capability, etc. More importantly small laser printers also typically handle only one page description language (PDL), and do not have a document scanning capability for scanning and printing documents.
On the other hand, larger high speed laser printers normally have a great deal of finishing and copy sheet capability which would allow the PC user to have, for example, custom printing and finishing of his or her work product, an option which for many office workers would be desirable. In practice, the PCs can be used advantageously with a network printing system of the type combining a number of client inputs, such as input scanners, PCs, workstations, or the like, and one or more printer outputs. In one example of such network printing systems, a client at one of the inputs sends electronic documents that comprise a job over a local area network (LAN) to one of the printers selected for printing the job. In particular, LANs provide a means by which users running dedicated processors are able to share resources such as printers, file servers and scanners. Integration of shared resources has been a problem addressed by LAN managers. LAN managers have made different network protocols such as Ethernet and Token Ring transparent to devices running different network protocols. LANs also have a variety of print drivers emitting different PDLs, which are directed to specific printer devices. In addition, different input scanners also have different PDLs.
With any PDL or image format, there will inevitably be a step of "decomposition" of the PDL or image format data into a form usable by an output device, such as a laser printer. Printing hardware requires a stream of binary data to be input into it. Thus, the instructions within the image format, such as to "print a white line," will eventually have to be translated into the actual binary code so that, for example, this code can be applied to the modulation of a laser source in a raster output scanner, or applied sequentially to individual ejectors in an inkjet printer. The decomposition of PDLs and printing of jobs requires setting priorities and managing resources.
In the prior art, U.S. Pat. No. 5,170,340 discloses an electronic reprographic system having a plurality of hardware and software system components, which a control system construes as various virtual machines. There is included in the system a scheduler for managing resources and setting priorities for various virtual machines defined by the system to process job requests in an efficient manner. The scheduler causes memory from a first virtual machine in the system to be distributed to a second virtual machine in the system when the second virtual machine requests more memory than is normally allocated to it.
U.S. Pat. No. 5,327,526 discloses a print job control system which processes print requests to set an order of priority for printing print jobs. A print job manager checks the print request and determines which print option is selected and manipulates the queue identifier associated with print jobs and enters them into a print queue table.